package 不可变集合;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class map集合 {
    public static void main(String[] args) {
        //创建一个普通得map集合
        HashMap<String, String> hm = new HashMap<>();
        hm.put("张三", "南京");
        hm.put("李四", "北京");
        hm.put("王五", "上海");
        hm.put("赵六", "北京");
        hm.put("孙七", "深圳");
        hm.put("周八", "杭州");
        hm.put("吴九", "宁波");
        hm.put("郑十", "苏州");
        hm.put("刘一", "无锡");
        hm.put("陈二", "嘉兴");
        hm.put("aaa", "111");

        //2.利用上面得数据获取一个不可变集合

        //获取到所有得键值对对象
        Set<Map.Entry<String, String>> entries = hm.entrySet();
        //把entries变成一个数组
        //解释:在toArray中得参数代表指定要转化得数组对象的类型
        //toArray的底层会比较集合的长度跟数组的长度两者长度的大小
        //如果集合的长度>数组的长度:数组中放不下,此时会根据数据的个数.重新传创建数组
        //反之放的下,则会直接存储到数组当中.
        Map.Entry[] array = entries.toArray(new Map.Entry[0]);
        //不可变的map集合
        Map mapOf = Map.ofEntries(array);


    }
}
